package com.ctsi.system.service;

import cn.hutool.core.lang.Dict;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ctsi.common.util.Search;
import com.ctsi.system.entity.EmpExtOrgPos;

import java.util.List;

/**
 * <p>
 * 员工附属机构岗位表 服务类
 * </p>
 *
 * @author wang xiao xiang
 */
public interface IEmpExtOrgPosService extends IService<EmpExtOrgPos> {

	/**
	 * 分页业务方法
	 *
	 * @param page   　分页参数
	 * @param search 　搜索参数
	 * @return IPage
	 */
	IPage<EmpExtOrgPos> listPage(Page page, Search search);


	/**
	 * 获取附属机构和职位信息
	 *
	 * @param empId    员工id（用户id）
	 * @param isFillId 是否需要返回id信息
	 * @return 增强版hashMap，格式：[{"orgId":123, "orgCode":"yfb", "orgName":"研发部", "posId":456, "posCode":"zjl", "posName":"总经理"}]
	 */
	List<Dict> getEmpExtOrgPosDictList(Long empId, boolean isFillId);

	/**
	 * 保存或编辑附属机构相关信息
	 *
	 * @param empId  员工ID（用户ID）
	 * @param extIds 附属机构职位信息集合，格式：[{"orgId":1234, "posId":5678}]
	 * @return boolean类型
	 */
	boolean setExtOrgPos(Long empId, List<Dict> extIds);

}
